Function EOQTR(date_)

If Month(date_) = 1 Or Month(date_) = 4 Or Month(date_) = 7 Or Month(date_) = 10 Then EOQTR = WorksheetFunction.EoMonth(date_, 2)
If Month(date_) = 2 Or Month(date_) = 5 Or Month(date_) = 8 Or Month(date_) = 11 Then EOQTR = WorksheetFunction.EoMonth(date_, 1)
If Month(date_) = 3 Or Month(date_) = 6 Or Month(date_) = 9 Or Month(date_) = 12 Then EOQTR = WorksheetFunction.EoMonth(date_, 0)

End Function


Function EOHY(date_, fy_month)

If fy_month <= 6 Then
    If Month(date_) >= fy_month And Month(date_) - fy_month < 6 Then
        adder = 5 + fy_month - Month(date_)
    ElseIf Month(date_) < fy_month Then
        adder = fy_month - Month(date_) - 1
    Else
        adder = 11 + fy_month - Month(date_)
    End If
End If

If fy_month > 6 Then
    If Month(date_) >= fy_month Or Month(date_) - fy_month < -6 Then
        If fy_month <= Month(date_) Then
                adder = 5 + fy_month - Month(date_)
        Else
             adder = 5 + fy_month - Month(date_) - 12         
        End If
    Else
        adder = 11 + fy_month - Month(date_) - 12
    End If
End If

EOHY = WorksheetFunction.EoMonth(date_, adder)

End Function
